Result 型を使ってエラーを明示する
FP では、ものごとをできるだけ明示的にする ことを重視している エラー処理についても同様
成功したか失敗したか、失敗した原因はなにかを明示する
例外を使うと、シグネチャからどんなエラーが起こるか分からない
code:fsharp
type CheckAddressExists = UnvalidatedAddress -> CheckedAddress
Result 型を使うことで実現できる
code:fsharp
type CheckAddressExists =
UnvalidatedAddress -> Result<CheckedAddress, AddressValidationError>
and AddressValidationError =
| InvalidFormat of string
| AddressNotFound of string